Network communication protocols provide the foundation for transferring data across networks. When equipment such as software and hardware that implement network communication protocols experience failure, communication links may be degraded or even terminated all together. Even if a system is capable of recovery, the transfer of data may experience significant interruptions while communication links are re-established. Such interruptions may represent serious and unacceptable degradations to the performance of the system.
One example of a network communication protocol susceptible to breakdowns is the Point-to-Point Protocol (PPP). PPP is a widely adopted protocol for transporting data packets over a link between two nodes. In the well known Open System Interconnection (OSI) model of layers of network communications, PPP is commonly described as a layer two, or data link layer, protocol. PPP supports different types of layer three, or network layer protocol, by encapsulating data from such network layer protocols into PPP frames and transporting them between the nodes. Network layer protocols supported by PPP include the Internet Protocol (IP), Internetwork Packet Exchange (IPX), and NetBIOS Frames (NBF). PPP also supports other frame types such as Asynchronous Transfer Mode (ATM) and Ethernet. A PPP session established between a home computer and equipment of an Internet Service Provider (ISP) may support the transfer of IP packets. Over the PPP session, the ISP may forward IP packets received from the Internet to the home computer, as well as forward IP packets received from the home computer to the Internet. In this manner, the ISP may serve as a conduit that connects the home computer to the Internet. Such a scenario is characteristic of “dial-up” and Digital Subscriber Line (DSL) services for Internet access provided by ISPs.
PPP may serve as a crucial link in a wide range of different network communication scenarios. An unintended breakdown of a PPP session likely leads to disruption or failure of higher level communications which depend on the PPP session. Re-establishment of the PPP session may allow the network communication to resume in certain implementations. However, it may take a significant amount of time to re-establish a PPP session, as well as higher level network communications supported by the PPP session. This potential problem may be especially troubling for real-time applications in which network communication is expected to transfer a stream of time-sensitive information. For example, a voice-over-IP (VoIP) phone call may be established using IP packets transferred over a PPP session. Such a call may suffer a call drop or a significant period of interruption if an underlying PPP session breaks down during the call. Even for non-real time applications, failures or interruptions associated with the break down of a PPP session can nevertheless cause serious degradations to network system performance. There is an urgent need for techniques that allow communication links, such as a PPP session, to be preserved without interruption in the event of equipment failure in a system.
Furthermore, a system that replicates data in network devices to maintain communication links may encounter many different data structures utilized by a wide range of processes. The variation in the types of data replicated and types of processing involved can lead to a complicated and error-prone replication procedure. Accordingly, there is also a considerable need for improved techniques for replicating different types of data in network devices.